// 版权所有2010 Go作者。保留所有权利。
// 此源代码的使用受BSD样式
// 许可证的约束，该许可证可以在许可证文件中找到。

package ioutil

import (
	"os"
)

// TempFile在目录dir中创建一个新的临时文件，
// 打开文件进行读写，并返回结果*os。文件
// 文件名是通过采用模式并在末尾添加随机
// 字符串生成的。如果模式包含一个“*”，则随机字符串
// 将替换最后一个“*”。
// 如果dir是空字符串，TempFile使用默认目录
// 作为临时文件（请参见os.TempDir）。
// 同时调用TempFile的多个程序
// 将不会选择同一个文件。调用方可以使用f.Name（）
// 来查找文件的路径名。调用方有责任在不再需要时删除该文件。
// 
// 从Go 1.17开始，这个函数只调用os。CreateTemp。
func TempFile(dir, pattern string) (f *os.File, err error) {
	return os.CreateTemp(dir, pattern)
}

// TempDir在目录dir中创建一个新的临时目录。
// 通过采用模式并在末尾应用
// 随机字符串生成目录名。如果模式包含一个“*”，则随机字符串
// 将替换最后一个“*”。TempDir返回新目录的名称。
// 如果dir是空字符串，TempDir将使用
// 临时文件的默认目录（请参见os.TempDir）。
// 同时调用TempDir的多个程序
// 将不会选择同一个目录。调用方有责任在不再需要时删除该目录。
// 
// 从Go 1.17开始，这个函数只调用os。MkdirTemp。
func TempDir(dir, pattern string) (name string, err error) {
	return os.MkdirTemp(dir, pattern)
}
